<%@ page import="com.hyd.tweet.Application" %>
<%@ page import="com.hyd.tweet.user.UserManager" %>
<%@ page import="com.hyd.tweet.xmpp.XMPPUtils" %>
<%@ page import="twitter4j.Twitter" %>
<%@ page import="twitter4j.TwitterFactory" %>
<%@ page import="twitter4j.auth.AccessToken" %>
<%@ page import="twitter4j.auth.RequestToken" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String token = null, tokenSecret = null, account = null;

    for (Cookie cookie : request.getCookies()) {
        if (cookie.getName().equals("token")) {
            token = cookie.getValue();
        }
        if (cookie.getName().equals("tokenSecret")) {
            tokenSecret = cookie.getValue();
        }
        if (cookie.getName().equals("account")) {
            account = cookie.getValue();
        }
    }

%>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>hydrogen-tweet</title>
</head>
<body>

<%

    if (token == null || tokenSecret == null || account == null) {
        %><p>没有授权信息，请确认您的浏览器或翻墙工具支持 cookie。</p><%
    } else {
        RequestToken requestToken = new RequestToken(token, tokenSecret);
        String pin = request.getParameter("oauth_verifier");
    
        Twitter twitter = new TwitterFactory().getInstance();
        try {
            AccessToken oAuthAccessToken = twitter.getOAuthAccessToken(requestToken, pin);
            UserManager.saveNewUser(account, oAuthAccessToken.getToken(), oAuthAccessToken.getTokenSecret());

            boolean invite_success = true; 
            try {
                XMPPUtils.invite(account);
            } catch (Exception e) {
                invite_success = false;
            }
            String server_account = account.split("@")[0] + "@" + Application.getAppChatDomain();
    
            if (invite_success) {
                %><p>给 <%=account%> 的聊天请求已成功发送。如果没有收到聊天请求，请添加“<%=server_account%>”到您的好友列表。</p><%
            } else {
                %><p>聊天请求没有发送成功，请添加“<span class="account"><%=server_account%></span>”到您的好友列表。</p><%
            }
        
            %>
    <p>发送 /help 查看可用的命令列表。聊天开始后，您就不再需要访问本站点，可以关闭本页面了。</p>
    <p>如果不想再通过本机器人上推，从您的好友列表中删除 <span class="account"><%=server_account%></span> 
        即可，机器人将会删除您的 twitter 授权。下次您想通过本机器人上推，需要访问网站重新授权。 <a href="./index.jsp">返回首页</a></p>
            <%
        } catch (Exception e) {
            %><p>授权失败，也许 twitter 网站暂时过载。请<a href="index.jsp">重新请求认证</a>。</p><%
        }
        
    }
    
%>



</body>
</html>